1. Field of the Invention
This invention relates generally to methods and systems used to convert a hardware language description to a logic circuit and in particular to a method and system for synthesizing a logic circuit from a user description with conditional assignments of values to logic variables and no hardware specific descriptions.
2. Prior Art
The automated design of application specific integrated circuits as well as the programming of either programmable logic devices or programmable gate arrays requires specification of a logic circuit by the user. Historically, a user was required typically to supply either a logic schematic diagram for use in the automated design process or a set of boolean equations that specified the function of the logic network. The automated logic design system used this information to produce a user specific circuit.
However, many designers had neither a specific schematic diagram nor general boolean logic equations to describe the desired logic operations of the circuit. Hardware description language (HDL) was developed to assist such designers. A hardware description language provided the designer with a means for describing the operation of the desired logic circuit that was at least one level of abstraction removed from a schematic diagram or a set of boolean logic equations. Also, HDL is a more compact representation of a circuit than the net lists that were historically used to represent circuits. Another significant advantage of HDL is that the HDL circuit description is technology independent. In a net list, logic gates from a particular vendor's library are used. With a HDL description, the description is not at the logic gate level.
Ideally, HDL would permit the user to describe only the desired operation of the logic circuit, i.e., the signals generated by the logic circuit. The automated logic design system would then translate the described operation into a logic circuit that was subsequently used in the automated logic design process.
Unfortunately, hardware description language generally permitted only an operational description of simple circuit elements. For many circuit elements, such as high impedance drivers, level sensitive latches and edge sensitive flip-flops, the designer was required first to specify the specific circuit element and then the desired connection of that element using the HDL. Thus, while HDL purportedly allowed a higher level of abstraction in the specification of the logic circuit, HDL descriptions still required detailed logic knowledge for most practical circuits.
Thus, only designers that have knowledge of both the use and operation of logic elements and the desired operational features of the logic circuit can use HDL successfully. An automated logic design system with a logic circuit element independent HDL that required only knowledge of the desired operational features of the logic circuit would greatly enhance the productivity and versatility obtained with automated logic design systems, because such a system could be used by designers with limited logic knowledge. The advantages of automated logic design would be available to a far greater number of users. In spite of the general recognition of this dilemma, a system with a logic circuit element independent HDL is currently unavailable.